# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/8/24 0024 0:34
@Author : 测试开发工程师
@File : 9. namespace.hasattr_demo.py
@Software: PyCharm
============================
"""

from flask import Flask
from flask_restx import Resource, Api, Namespace

app = Flask(__name__)
api = Api(app)

# 定义两个命名空间
hello_ns = Namespace('demo', description='demo学习')
case_ns = Namespace('case', description='用例管理')


# 接口路径定义到类上，对应的不同请求操作创建不同的方法
# 将之前的 @api.route('/case') 改为 @case_ns.route("")
# @case_ns.route("")定义子路由，如果没有的话，就传空字符串即可
@case_ns.route("")
class TestCase(Resource):
    # restful 风格的 get 方法
    def get(self):
        return {'code': 0, 'msg': 'get success'}

    # restful 风格的 post 方法
    def post(self):
        return {'code': 0, 'msg': 'post success'}
        # restful 风格的 get 方法

    def put(self):
        return {'code': 0, 'msg': 'put success'}
        # restful 风格的 post 方法

    def delete(self):
        return {'code': 0, 'msg': 'delete success'}


@hello_ns.route("")
class Demo(Resource):
    # restful 风格的 get 方法
    def get(self):
        return {'code': 0, 'msg': 'get success'}

    # restful 风格的 post 方法
    def post(self):
        return {'code': 0, 'msg': 'post success'}
        # restful 风格的 get 方法

    def put(self):
        return {'code': 0, 'msg': 'put success'}
        # restful 风格的 post 方法

    def delete(self):
        return {'code': 0, 'msg': 'delete success'}


api.add_namespace(hello_ns, '/hello')
api.add_namespace(case_ns, '/case')

if __name__ == '__main__':
    app.run(debug=True)
